use crate::web_service::WebService;

mod web_service;

// Learn more about Tauri commands at https://tauri.app/develop/calling-rust/
#[tauri::command]
fn greet(name: &str) -> String {
    format!("Hello, {}! You've been greeted from Rust!", name)
}

#[tauri::command]
fn start_web_service(app_handle: tauri::AppHandle) {
    WebService::new(56537, "127.0.0.1".to_string()).start(app_handle);
}

#[tauri::command]
fn exit_app(window: tauri::Window) {
    window.close().unwrap();
}

#[tauri::command]
fn minimize_app(window: tauri::Window) {
    window.minimize().unwrap();
}

#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
    tauri::Builder::default()
        .plugin(tauri_plugin_opener::init())
        .invoke_handler(tauri::generate_handler![greet, start_web_service, exit_app,minimize_app])
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}
